//import java.util.Map;
//import java.util.Scanner;
//
//public class Main {
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        int count = 0;
//        int n = scanner.nextInt();
//        int a = scanner.nextInt();
//        int left = 0, right = 0; //左边向右走的数量和右边向左走的数量
//        for (int i = 0; i < n - 1; i++) {
//            int x = scanner.nextInt();
//            if(Math.abs(x) < Math.abs(a) && x > 0) left++;
//            if(Math.abs(x) > Math.abs(a) && x < 0) right++;
//        }
//        if((a > 0 && right == 0) || (a < 0 && left == 0)) System.out.println(1);
//        else System.out.println(left + right + 1);
//    }
//}
//
//import java.util.Scanner;
//
//public class Main {
//    public static void main(String[] args) {
//        Scanner scanner = new Scanner(System.in);
//        String str = scanner.nextLine();
//        int count = 0;
//        int left = 0, right = 0;
//        String[] strs = new String[1000];
//
//        while(right < str.length()) {
//            if(str.charAt(right) == ' ') {
//                strs[count++] = str.substring(left,right);
//                left = right+1;
//            }
//            if(str.charAt(left) == '\"') {
//                right = left + 1;
//                while(str.charAt(right) != '\"') {
//                    right++;
//                }
//                right++;
//                strs[count++] = str.substring(left+1,right-1);
//                left = right+1;
//            }
//            right++;
//        }
//        if(left < str.length()) {
//            strs[count++] = str.substring(left,right);
//        }
//
//        System.out.println(count);
//        for(int i = 0; i<count; i++) {
//            System.out.println(strs[i]);
//        }
//    }
//}


//dp[i] 到达第i块石板的最少步数

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int n = scanner.nextInt();
        int m = scanner.nextInt();
        int[] dp = new int[m+1];
        for(int i = n; i<=m; i++) {
            dp[i] = -1;
        }
        dp[n] = 0;
        for(int i = n; i<=m; i++) {
            for(int j = i/2; j < i-1; j++) {
                if(j % (i - j) == 0 && dp[j] != -1 && (i-j) < j) {
                    dp[i] = dp[j] + 1;
                    break;
                }
            }
        }

        System.out.println(dp[m]);
    }
}